package com.example.demo.CustomAnnotations;

import org.springframework.stereotype.Component;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/*
 * @Author:大力王
 * @Date:2024/4/11-11-17:32
 * 开始了
 */

/**
 * 自定义注解
 * &#064;Target:  注解所修饰的对象范围(只能用于方法上)
 * &#064;Retention:  注解的保留期限(运行时)---->生命周期
 * &#064;Component:  注解的实例化对象(放到容器里面，进行控制)
 * ttl(): -1默认过期时间是永久
 * group():  key的分组
 */
@Component
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface CustomAnnotation {
    //TODO 1:后面从配置文件来读时间 如果不填时间和sa的token过期时间保持一致
    long ttl() default -1;
    String group() default "";
}
